// 没卵子用 这里打包出来的不能用

// 简化的打包脚本
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

console.log('开始打包 serve.js 为可执行文件...');

// 确保dist目录存在
const distDir = path.join(__dirname, 'dist');
if (!fs.existsSync(distDir)) {
    fs.mkdirSync(distDir, { recursive: true });
    console.log('创建dist目录');
}

try {
    // 使用pkg打包，指定本地Node.js版本
    console.log('正在打包...');
    execSync('npx pkg serve.js --targets node16-win-x64 --output dist/test.exe', {
        stdio: 'inherit',
        cwd: __dirname
    });
    
    console.log('\n✅ 打包成功！');
    console.log('📁 可执行文件位置: dist/邮件服务.exe');
    console.log('\n使用方法:');
    console.log('1. 双击 dist/邮件服务.exe 运行');
    console.log('2. 或在命令行中执行: .\\dist\\邮件服务.exe');
    
} catch (error) {
    console.error('❌ 打包失败:', error.message);
    
    // 提供备用方案
    console.log('\n🔄 尝试备用打包方案...');
    try {
        execSync('npx pkg serve.js --targets node14-win-x64 --output dist/邮件服务.exe', {
            stdio: 'inherit',
            cwd: __dirname
        });
        console.log('✅ 备用方案打包成功！');
    } catch (backupError) {
        console.error('❌ 备用方案也失败了:', backupError.message);
        console.log('\n💡 建议解决方案:');
        console.log('1. 检查网络连接');
        console.log('2. 尝试使用VPN');
        console.log('3. 或手动运行: node serve.js');
    }
}